home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / os2 / pvm34b3.zip / pvm34b3 / pvm3 / tracer / OS2 / Makefile.os2 < prev   
Makefile  |  1997-08-08  |  4KB  |  194 lines

  1. #
  2. # $Id: Makefile.aimk,v 4.20 1997/06/17 21:29:28 pvmsrc Exp $
  3. #
  4.  
  5. #
  6. # Enforce Proper Shell Environment
  7. #
  8.  
  9. SHELL        =    /bin/ksh
  10.  
  11.  
  12. #
  13. # Version Compatibility Flags & Compiler Options
  14. #
  15.  
  16. PVMVERSION    =
  17. #PVMVERSION    =    -DUSE_PVM_33
  18.  
  19. CFLOPTS    =    -O
  20. #CFLOPTS        =    -g
  21.  
  22. #CC            =    cc
  23. CC            =    gcc
  24.  
  25. CFLAGS        =    $(CFLOPTS) $(PVMVERSION) -DIMA_$(PVM_ARCH) $(ARCHCFLAGS)
  26.  
  27.  
  28. #
  29. # Source Directory
  30. #
  31.  
  32. PVMDIR        =    ../..
  33.  
  34. TRCDIR        =    $(PVMDIR)/tracer
  35.  
  36. SRCDIR        =    $(TRCDIR)
  37.  
  38. PVMBDIR        =    $(PVMDIR)/bin
  39. PVMXDIR        =    $(PVMBDIR)/$(PVM_ARCH)
  40.  
  41. PVMLDIR        =    $(PVMDIR)/lib/$(PVM_ARCH)
  42.  
  43.  
  44. #
  45. # Libraries
  46. #
  47.  
  48. PVMLIBDIR    =    -L$(PVMDIR)/lib/$(PVM_ARCH)
  49.  
  50. TRCLIBDIR    =    -L$(TRCDIR)/$(PVM_ARCH)
  51.  
  52. LIBDIRS        =    $(PVMLIBDIR) $(TRCLIBDIR)
  53.  
  54. SYSLIBS         =    $(ARCHLIB)
  55.  
  56. PVMLIB        =    pvm3
  57. PVMLIBDEP    =    $(PVMLDIR)/$(PVMLIB).a
  58.  
  59. TRCLIB        =    pvmtrc
  60. TRCLIBDEP    =    $(PVMLDIR)/$(TRCLIB).a
  61.  
  62. LIBS        =    $(LIBDIRS) -l$(TRCLIB) -l$(PVMLIB) $(SYSLIBS)
  63.  
  64.  
  65. #
  66. # Include Directories
  67. #
  68.  
  69. PVMINCL        =    -I$(PVMDIR)/include
  70.  
  71. TRCINCL        =    -I$(TRCDIR)
  72.  
  73. INCL        =    -I$(SRCDIR) $(PVMINCL) $(TRCINCL)
  74.  
  75.  
  76. #
  77. # Object Files
  78. #
  79.  
  80. OBJS        =    tracer.o cmd.o trcglob.o
  81.  
  82. TRCOBJS        =    trcmess.o trcfile.o trccompat.o trccompatglob.o \
  83.                 trcutil.o trclib.o
  84.  
  85. HEADERS        =    $(SRCDIR)/tracer.h $(SRCDIR)/trcglob.h \
  86.                 $(TRCDIR)/trcdef.h $(TRCDIR)/trctype.h \
  87.                 $(TRCDIR)/trcproto.h \
  88.                 $(PVMDIR)/include/pvm3.h $(PVMDIR)/include/pvmtev.h
  89.  
  90. TRCHEADERS    =    $(TRCDIR)/trclib.h $(TRCDIR)/trctype.h \
  91.                 $(TRCDIR)/trcproto.h \
  92.                 $(TRCDIR)/trccompat.h $(TRCDIR)/trccompatrev.h \
  93.                 $(PVMDIR)/include/pvm3.h $(PVMDIR)/include/pvmtev.h
  94.  
  95.  
  96. #
  97. # Targets
  98. #
  99.  
  100. default:  local
  101.  
  102. install:  $(PVMXDIR) $(PVMLDIR) $(PVMXDIR)/tracer$(EXESFX) $(PVMXDIR)/trcsort$(EXESFX)
  103.  
  104. $(PVMXDIR)/tracer$(EXESFX):  tracer$(EXESFX)
  105.     @ cp tracer$(EXESFX) $(PVMXDIR)
  106.  
  107. $(PVMXDIR)/trcsort$(EXESFX):  trcsort$(EXESFX)
  108.     @ cp trcsort$(EXESFX) $(PVMXDIR)
  109.  
  110. local:  tracer$(EXESFX) trcsort$(EXESFX)
  111.  
  112. tracer$(EXESFX):  $(OBJS) $(TRCLIBDEP) $(PVMLIBDEP)
  113.     $(CC) $(CFLAGS) -o tracer$(EXESFX) $(OBJS) $(LIBS)
  114.  
  115. objs:  $(OBJS)
  116.  
  117. trcsort$(EXESFX):  trcsort.o $(TRCLIBDEP) $(PVMLIBDEP)
  118.     $(CC) $(CFLAGS) -o trcsort$(EXESFX) trcsort.o $(LIBS)
  119.  
  120. trcsort.o:  $(SRCDIR)/trcsort.c
  121.     $(CC) $(CFLAGS) -c $(INCL) $(SRCDIR)/trcsort.c
  122.  
  123. $(TRCLIBDEP):  pvmtrc.a
  124.     @ cp pvmtrc.a $(PVMLDIR)
  125.  
  126. pvmtrc.a:  $(TRCOBJS) $(PVMLDIR)
  127.     $(AR) rcv pvmtrc.a $(TRCOBJS)
  128.     @ case x$(HASRANLIB) in \
  129.         xt ) echo "ranlib libpvmtrc.a"; ranlib libpvmtrc.a ;; \
  130.         xf ) echo "No Ranlib Necessary." ;; esac
  131.  
  132. $(PVMXDIR):
  133.     - mkdir $(PVMBDIR)
  134.     - mkdir $(PVMXDIR)
  135.  
  136. $(PVMLDIR):
  137.     - mkdir $(PVMLDIR)
  138.  
  139. again:
  140.     cd $(SRCDIR) ; touch *.c *.h ; make
  141.  
  142. clean:
  143.     - rm -f *.o *.exe *.a
  144.  
  145. veryclean:  clean
  146.     - rm -f tracer$(EXESFX) pvmtrc.a
  147.  
  148.  
  149. #
  150. # C Dependencies
  151. #
  152.  
  153. tracer.o:  $(SRCDIR)/tracer.c $(HEADERS)
  154.     @ touch tracer.o
  155.     $(CC) $(CFLAGS) -c $(INCL) $(SRCDIR)/tracer.c
  156.  
  157. cmd.o:  $(SRCDIR)/cmd.c $(HEADERS)
  158.     @ touch cmd.o
  159.     $(CC) $(CFLAGS) -c $(INCL) $(SRCDIR)/cmd.c
  160.  
  161. trcglob.o:  $(SRCDIR)/trcglob.c $(HEADERS)
  162.     @ touch trcglob.o
  163.     $(CC) $(CFLAGS) -c $(INCL) $(SRCDIR)/trcglob.c
  164.  
  165.  
  166. #
  167. # Library Objects
  168. #
  169.  
  170. trcmess.o:  $(TRCDIR)/trcmess.c $(TRCHEADERS)
  171.     @ touch trcmess.o
  172.     $(CC) $(CFLAGS) -c $(INCL) $(TRCDIR)/trcmess.c
  173.  
  174. trcfile.o:  $(TRCDIR)/trcfile.c $(TRCHEADERS)
  175.     @ touch trcfile.o
  176.     $(CC) $(CFLAGS) -c $(INCL) $(TRCDIR)/trcfile.c
  177.  
  178. trccompat.o:  $(TRCDIR)/trccompat.c $(TRCHEADERS)
  179.     @ touch trccompat.o
  180.     $(CC) $(CFLAGS) -c $(INCL) $(TRCDIR)/trccompat.c
  181.  
  182. trccompatglob.o:  $(TRCDIR)/trccompatglob.c $(TRCHEADERS)
  183.     @ touch trccompatglob.o
  184.     $(CC) $(CFLAGS) -c $(INCL) $(TRCDIR)/trccompatglob.c
  185.  
  186. trcutil.o:  $(TRCDIR)/trcutil.c $(TRCHEADERS)
  187.     @ touch trcutil.o
  188.     $(CC) $(CFLAGS) -c $(INCL) $(TRCDIR)/trcutil.c
  189.  
  190. trclib.o:  $(TRCDIR)/trclib.c $(TRCHEADERS)
  191.     @ touch trclib.o
  192.     $(CC) $(CFLAGS) -c $(INCL) $(TRCDIR)/trclib.c
  193.  
  194.